home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / machack / Hacks97 / WarriorsProgress.sit / Warrior’s Progress / source code / Source / Libraries / Announcer / EarBase.h < prev    next >
Text File  |  1997-06-28  |  594b  |  35 lines

  1. // EarBase.h
  2.  
  3. #ifndef EarBase_h
  4. #define EarBase_h
  5.  
  6. #ifndef Announcer_h
  7. #include "Announcer.h"
  8. #endif
  9. #ifndef ListLink_h
  10. #include "ListLink.h"
  11. #endif
  12.  
  13. class EarBase
  14.   {
  15.     private:
  16.         ListLink<EarBase> link;
  17.     
  18.     public:
  19.         EarBase();
  20.         EarBase( const Announcer& );
  21.         ~EarBase();
  22.         
  23.         bool Listening() const                        { return link.Owned(); }
  24.         void ListenToNothing()                        { link.Owner().Remove( link ); }
  25.         void ListenTo( const Announcer& a )
  26.           {
  27.             const_cast<Announcer&>(a).ears.Add( link, afterEnd );
  28.           }
  29.         
  30.         virtual void HearAnnouncement() = 0;
  31.         virtual void HearDestruction() = 0;
  32.   };
  33.  
  34. #endif
  35.